home *** CD-ROM | disk | FTP | other *** search
/ MacPeople 1997 August 15 / MACPEOPLE-1997-08-15.ISO.7z / MACPEOPLE-1997-08-15.ISO / アップル関連 / ARA PS アップデート / モデム用 / MICRO CORE MC288XL⁄XLII⁄XR⁄XE / MICRO CORE MC288XL_XLII_XR_XE next >
Text File  |  1996-06-20  |  10KB  |  515 lines

  1. !  ARA 2.0 Modem script for MICRO CORE Modem(288)
  2. !          Copyright (C) MICRO REASEARCH INSTITUTE Inc. 1994-1996
  3. !
  4. !  'mlts' resource info for this modem:
  5. !    byte 1 == 01 -> modem HAS builtin reliability protocols
  6. !    byte 2 == 00 -> reserved by Apple
  7. !    byte 3 == 21 -> max hex chars in varstr 7 (33 dec)
  8. !    byte 4 == 21 -> max hex chars in varstr 8
  9. !    byte 5 == 21 -> max hex chars in varstr 9
  10. !
  11. @ORIGINATE
  12. @ANSWER
  13. !
  14. ! set up the modem - label range is 1-10
  15. !
  16. ! Mac talks to the modem at 57,600 bps.
  17. serreset 9600, 0, 8, 1
  18. matchclr
  19. matchstr 1 13 "OK¥13¥10"
  20. write "AT%N0¥13"
  21. matchread 30
  22. serreset 57600, 0, 8, 1
  23. !
  24. ! reset the serial port
  25. HSReset 0 0 0 0 0 0
  26. settries 0
  27. !
  28. @LABEL 1
  29. matchclr
  30. matchstr 1 3 "OK¥13¥10"
  31. ! &F  - Restore factory configuration
  32. ! E0  - Disable command echo
  33. ! &D0 - DTR is ignored
  34. ! ¥N0 - Select normal speed buffed mode
  35. ! S0=0 - Disable auto-answer mode
  36. ! S7=60 - To allow for an international call
  37. write "AT&FE0&D0S0=0S7=60¥13"
  38. matchread 30
  39. inctries
  40. iftries 2 91
  41. !
  42. ! Reset the Modem
  43. !
  44. !DTRSet
  45. !pause 5
  46. !DTRClear
  47. !pause 5
  48. !DTRSet
  49. pause 5
  50. flush
  51. jump 1
  52. !
  53. @LABEL 3
  54. ! Modem responding & configured.
  55. ! determine if reliable link is requested.
  56. !
  57. ! if modem mnp10 link requested (var 4 == 2) then jump label 4
  58. ifstr 4 4 "2"
  59. !
  60. ! if modem v42 link requested (var 4 == 1) then jump label 5
  61. ifstr 4 5 "1"
  62. !
  63. ! if no modem v42 link requested (var 4 == 0) [same as ARA 1.0] then jump label 9
  64. ifstr 4 9 "0"
  65. !
  66. ! else invalid value in var 4; exit w/error
  67. jump 96
  68. !
  69. @LABEL 4
  70. ! yes, MNP10 link is requested.  OK for LAP-M -> MNP10.
  71. !matchclr
  72. !matchstr 1 7 "OK¥13¥10"
  73. ! -C0 - Enable MNP10 operation
  74. ! -K1 - Enable V.42 LAPM to MNP10 conversion
  75. ! ¥N3 - V.42 -> MNP4 autoreliable mode
  76. ! %C0 - Disable compression
  77. !write "AT-C0-K1¥¥N3%C0¥13"
  78. !matchread 300
  79. !jump 91
  80. !
  81. @LABEL 5
  82. ! yes, V.42 link is requested.  OK for LAP-M -> MNP -> NORMAL
  83. matchclr
  84. matchstr 1 7 "OK¥13¥10"
  85. ! ¥N3 - V.42 -> MNP4 autoreliable mode
  86. ! %C0 - Disable compression
  87. write "AT¥¥N3¥13"
  88. matchread 300
  89. jump 91
  90. !
  91. @LABEL 7
  92. ! if we DID want v42b in the modem, this is where it would go,
  93. ! but since the cpu does a better job at compressing compressable
  94. ! files, this setup stuff is commented out.  the matchstrings and
  95. ! associated labels have been left in.
  96. !matchclr
  97. !matchstr 1 9 "OK¥13¥10"
  98. ! ¥N3 - V.42bis -> MNP5 autoreliable mode
  99. !write "AT¥¥N3¥13"
  100. !matchread 300
  101. !jump 91
  102. !
  103. @LABEL 9
  104. ! If speaker on flag is true, jump to label 13.  Else turn off the speaker.
  105. ifstr 2 13 "1"
  106. pause 5
  107. matchclr
  108. matchstr 1 13 "OK¥13¥10"
  109. write "ATM0¥13"
  110. matchread 30
  111. jump 91
  112. !
  113. ! modem ready, so enable answering or originate a call - label range is 11-30
  114. !
  115. @LABEL 13
  116. pause 5
  117. ifANSWER 81
  118. !
  119. ! if normal dialing (parm 6 == 0) jump to 19
  120. ifstr 6 19 "0"
  121. !
  122. ! if blind dialing (parm 6 == 1) jump to 17
  123. ifstr 6 17 "1"
  124. !
  125. ! if manual dialing (parm 6 == 2) jump to 15 
  126. ifstr 6 15 "2"
  127. !
  128. ! else invalid value in var 6; exit w/error
  129. jump 96
  130. !
  131. @LABEL 15
  132. note "Manual dialing initiated" 3
  133. !note "手動ダイアル中。" 3
  134. ! X1 to ignore dialtone & busy for manual dialing, D to dial
  135. write "ATX1D ¥13"
  136. jump 32
  137. !
  138. @LABEL 17
  139. note "Dialing without tone" 3
  140. !note "ダイアルトーンを無視してダイアル中。" 3
  141. matchclr
  142. matchstr 1 19 "OK¥13¥10"
  143. ! X1 to ignore dialtone & busy for blind dialing
  144. write "ATX1¥13"
  145. matchread 30
  146. jump 91
  147. !
  148. @LABEL 19
  149. ! this is where we break up long dialstrings
  150. !
  151. ! parm 1 is always the full dialstring from the conn doc
  152. note "Dialing ^1" 3
  153. !note "^1 をダイアル中。" 3
  154. ! parm 3 is always "p" for pulse & "t" for tone
  155. !
  156. ! if parm 8 == blank (complete dialstring in parm 7)
  157. !  then jump to label 27 & dial parm 7
  158. ifstr 8 27 " "
  159. !
  160. ! if parm 9 == blank (complete dialstring in parms 7 & 8)
  161. !  then jump to label 24 & dial parm 7 & 8
  162. ifstr 9 24 " "
  163. !
  164. !  else dial parm 7 & 8 & 9 (complete dialstring in parms 7, 8 & 9)
  165. matchclr
  166. matchstr 1 21 "OK¥13¥10"
  167. ! parm 7 holds first string fragment
  168. write "ATD^3^7;¥13"
  169. matchread 400
  170. ! modem not responding; bailout.
  171. jump 91
  172. @LABEL 21
  173. ! parm 8 holds second string fragment
  174. matchclr
  175. matchstr 1 22 "OK¥13¥10"
  176. write "ATD^3^8;¥13"
  177. matchread 400
  178. ! modem not responding; bailout.
  179. jump 91
  180. @LABEL 22
  181. ! parm 9 holds last string fragment
  182. write "ATD^3^9¥13"
  183. jump 32
  184. !
  185. @LABEL 24
  186. matchclr
  187. matchstr 1 25 "OK¥13¥10"
  188. ! parm 7 holds first string fragment
  189. write "ATD^3^7;¥13"
  190. matchread 400
  191. ! modem not responding; bailout.
  192. jump 91
  193. @LABEL 25
  194. ! parm 8 holds last string fragment
  195. write "ATD^3^8¥13"
  196. jump 32
  197. !
  198. @LABEL 27
  199. ! parm 7 holds entire string
  200. write "ATD^3^7¥13"
  201. jump 32
  202. !
  203. !    connecting - label range is 31-60
  204. !
  205. @LABEL 32
  206. matchclr
  207. matchstr   1 82 "RING¥13¥10"
  208. matchstr   2 92 "NO DIALTONE¥13¥10"
  209. matchstr   3 93 "NO CARRIER¥13¥10"
  210. matchstr   4 93 "ERROR¥13¥10"
  211. matchstr   5 94 "BUSY¥13¥10"
  212. matchstr   6 95 "NO ANSWER¥13¥10"
  213. matchstr   6 34 "CONNECT"
  214. matchread 700
  215. ifANSWER 32
  216. jump 91
  217.  
  218. !BPS CHECK
  219. @LABEL 34
  220. matchclr
  221. matchstr   1 40 " 1200"
  222. matchstr   2 41 " 2400¥13¥10"
  223. matchstr   3 42 " 2400/"
  224. matchstr   4 43 " 4800"
  225. matchstr   5 44 " 7200"
  226. matchstr   6 45 " 9600"
  227. matchstr   7 46 " 12000"
  228. matchstr   8 47 " 14400"
  229. matchstr   9 48 " 16800"
  230. matchstr  10 49 " 19200"
  231. matchstr  11 50 " 21600"
  232. matchstr  12 51 " 24000"
  233. matchstr  13 52 " 26400"
  234. matchstr  14 53 " 28800"
  235. matchstr  15 54 " 31200"
  236. matchstr  16 55 " 33600"
  237. matchstr  17 35 "/"
  238. matchstr  18 78 "¥13¥10"
  239. matchread 700
  240. jump 91
  241.  
  242. @LABEL 35
  243. matchclr
  244. matchstr   1 56 "NONE"
  245. matchstr   2 57 "REL"
  246. matchstr   3 58 "MNP¥13¥10"
  247. matchstr   4 59 "MNP/"
  248. matchstr   5 60 "MNP10"
  249. matchstr   6 61 "LAPM"
  250. matchstr   7 36 "/"
  251. matchstr   8 78 "¥13¥10"
  252. matchread 700
  253. jump 91
  254.  
  255. @LABEL 36
  256. matchclr
  257. matchstr   1 37 "NONE¥13¥10"
  258. matchstr   2 38 "MNP5¥13¥10"
  259. matchstr   3 39 "V.42bis¥13¥10"
  260. matchstr   4 39 "V.42BIS¥13¥10"
  261. matchstr   5 78 "¥13¥10"
  262. matchread 700
  263. jump 91
  264.  
  265. !Compresion Protocol
  266. @LABEL 37
  267. note "NO Compression." 1
  268. !note "圧縮未使用" 1
  269. jump 78
  270.  
  271. @LABEL 38
  272. note "MNP5 Compression." 1
  273. !note "MNP 5 圧縮を使用" 1
  274. userhook 3
  275. jump 78
  276.  
  277. @LABEL 39
  278. note "V.42bis Compression." 1
  279. !note "V.42bis 圧縮を使用" 1
  280. userhook 3
  281. jump 78
  282.  
  283. !ModemSpeed(DCE) report to A.R.A.
  284. !This CCL support 1200 to 33600bps
  285. @LABEL 40
  286. CommunicatingAt 1200
  287. note "Communicating at 1200 bps." 3
  288. !note "1200 bps で接続中" 3
  289. jump 34
  290. @LABEL 41
  291. CommunicatingAt 2400
  292. note "Communicating at 2400 bps." 3
  293. !note "2400 bps で接続中" 3
  294. jump 78
  295. @LABEL 42
  296. CommunicatingAt 2400
  297. note "Communicating at 2400 bps." 3
  298. !note "2400 bps で接続中" 3
  299. jump 35
  300. @LABEL 43
  301. CommunicatingAt 4800
  302. note "Communicating at 4800 bps." 3
  303. !note "4800 bps で接続中" 3
  304. jump 34
  305. @LABEL 44
  306. CommunicatingAt 7200
  307. note "Communicating at 7200 bps." 3
  308. !note "7200 bps で接続中" 3
  309. jump 34
  310. @LABEL 45
  311. CommunicatingAt 9600
  312. note "Communicating at 9600 bps." 3
  313. !note "9600 bps で接続中" 3
  314. jump 34
  315. @LABEL 46
  316. CommunicatingAt 12000
  317. note "Communicating at 12k bps." 3
  318. !note "12k bps で接続中" 3
  319. jump 34
  320. @LABEL 47
  321. CommunicatingAt 14400
  322. note "Communicating at 14.4k bps." 3
  323. !note "14.4k bps で接続中" 3
  324. jump 34
  325. @LABEL 48
  326. CommunicatingAt 16800
  327. note "Communicating at 16.8k bps." 3
  328. !note "16.8k bps で接続中" 3
  329. jump 34
  330. @LABEL 49
  331. CommunicatingAt 19200
  332. note "Communicating at 19.2k bps." 3
  333. !note "19.2k bps で接続中" 3
  334. jump 34
  335. @LABEL 50
  336. CommunicatingAt 21600
  337. note "Communicating at 21.6k bps." 3
  338. !note "21.6k bps で接続中" 3
  339. jump 34
  340. @LABEL 51
  341. CommunicatingAt 24000
  342. note "Communicating at 24.0k bps." 3
  343. !note "24.0k bps で接続中" 3
  344. jump 34
  345. @LABEL 52
  346. CommunicatingAt 26400
  347. note "Communicating at 26.4k bps." 3
  348. !note "26.4k bps で接続中" 3
  349. jump 34
  350. @LABEL 53
  351. CommunicatingAt 28800
  352. note "Communicating at 28.8k bps." 3
  353. !note "28.8k bps で接続中" 3
  354. jump 34
  355. @LABEL 54
  356. CommunicatingAt 31200
  357. note "Communicating at 31.2k bps." 3
  358. !note "31.2k bps で接続中" 3
  359. jump 34
  360. @LABEL 55
  361. CommunicatingAt 33600
  362. note "Communicating at 33.6k bps." 3
  363. !note "33.6k bps で接続中" 3
  364. jump 34
  365.  
  366. !Error Collection Protocol
  367. @LABEL 56
  368. note "NO Error Collection." 1
  369. !note "エラー訂正未使用" 1
  370. jump 35
  371. @LABEL 57
  372. note "Reliable Link Established." 1
  373. !note "エラー訂正リンクが成立。" 1
  374. userhook 2
  375. jump 35
  376. @LABEL 58
  377. note "MNP4 Reliable Link Established." 1
  378. !note "MNP 4 リンクが成立。" 1
  379. userhook 2
  380. jump 35
  381. @LABEL 59
  382. note "MNP4 Reliable Link Established." 1
  383. !note "MNP 4 リンクが成立。" 1
  384. userhook 2
  385. jump 36
  386. @LABEL 60
  387. note "MNP10 Reliable Link Established." 1
  388. !note "MNP 10 リンクが成立。" 1
  389. userhook 4
  390. jump 35
  391. @LABEL 61
  392. note "LAPM Reliable Link Established." 1
  393. !note "LAPM リンクが成立。" 1
  394. userhook 4
  395. jump 35
  396.  
  397. @LABEL 78
  398. ! turn on cts handshaking.
  399. HSReset 0 1 0 0 0 0
  400. !
  401. ifANSWER 79
  402. pause 30
  403. @LABEL 79
  404. exit 0
  405. !
  406. !@ANSWER
  407. ! Set the modem to answer on 1st ring - label range is 81-90
  408. !
  409. @LABEL 81
  410. matchclr
  411. matchstr 1 32 "OK¥13¥10"
  412. write "ATS0=2¥13"
  413. matchread 30
  414. jump 91
  415. !
  416. @LABEL 82
  417. ifORIGINATE 32
  418. ! claim the serial port
  419. userhook 1
  420. note "Answering phone..." 3
  421. !note "電話に応対しています。" 3
  422. jump 32
  423. !
  424. ! error messages - label range is 91-100
  425. !
  426. ! Modem Not Responding
  427. @LABEL 91
  428. exit -6019
  429. !
  430. ! No Dial Tone
  431. @LABEL 92
  432. exit -6020
  433. !
  434. ! No Carrier or Error
  435. @LABEL 93
  436. exit -6021
  437. !
  438. ! Busy
  439. @LABEL 94
  440. exit -6022
  441. !
  442. ! No Answer
  443. @LABEL 95
  444. exit -6023
  445. !
  446. ! varstring invalid value
  447. @LABEL 96
  448. exit -6027
  449. !
  450. ! Redial error
  451. @LABEL 99
  452. exit -6022
  453. !
  454. ! Hang up the modem - label range is 101-120
  455. !
  456. @HANGUP
  457. @LABEL 102
  458. settries 0
  459. serreset 19200, 0, 8, 1
  460. HSReset 0 0 0 0 0 0
  461. @LABEL 105
  462. !
  463. ! Try to get control of the modem.
  464. !
  465. !DTRSet
  466. !pause 5
  467. !DTRClear
  468. pause 5
  469. flush
  470. !
  471. @LABEL 108
  472. flush
  473. matchclr
  474. matchstr 1 111 "NO CARRIER¥13¥10"
  475. matchstr 2 111 "OK¥13¥10"
  476. matchstr 3 111 "ERROR¥13¥10"
  477. write "ATH¥13"
  478. matchread 30
  479. inctries
  480. iftries 3 91
  481. !DTRSet
  482. !pause 5
  483. !DTRClear
  484. !pause 5
  485. !DTRSet
  486. pause 5
  487. flush
  488. !
  489. @LABEL 109
  490. matchclr
  491. matchstr 1 115 "OK¥13¥10"
  492. write "+++"
  493. matchread 15
  494. jump 108
  495. !
  496. ! recall the factory settings.
  497. !
  498. @LABEL 111
  499. pause 15
  500. matchclr
  501. matchstr 1 114 "OK¥13¥10"
  502. write "AT&F¥13"
  503. matchread 30
  504. jump 91
  505. !
  506. @LABEL 114
  507. exit 0
  508. !
  509. @LABEL 115
  510. pause 50
  511. jump 108
  512. !
  513. ! labels 121-128 are reserved for future emergency hacks
  514. !
  515.